/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cl.web.managedbeans;

import cl.web.jsf.util.Message;
import java.io.Serializable;
import java.util.Map;
import javax.faces.application.FacesMessage;
import javax.faces.application.FacesMessage.Severity;
import javax.faces.bean.ManagedProperty;
import javax.faces.context.FacesContext;

/**
 *
 * @author Vogel
 */
public class BaseMBean implements Serializable{

    static final long serialVersionUID = 1L;
    @ManagedProperty(value="#{avisoMBean}")
    private AvisoMBean avisoMBean;
    
   /**
    * @param name corresponde al nombre del parametro que se envía por el componente f:param
    * @return un String correspondiente al valor que se envió por f:param
    * @since 2013-05-12
    */ 
   public String getParam(String name){
        FacesContext context = FacesContext.getCurrentInstance();
        Map<String,String> params = context.getExternalContext().getRequestParameterMap();
        return params.get(name);
    }
   
   public void message(Severity s, String mensaje ){
       if(s==FacesMessage.SEVERITY_ERROR){
           this.avisoMBean.setMessage(new Message("Mensaje de Error:",mensaje,"messageError","error"));
       }else{
           this.avisoMBean.setMessage(new Message("Información:",mensaje,"messageInfo","info"));
       }
       this.avisoMBean.getMessage().setVisible(true);
   }

    public AvisoMBean getAvisoMBean() {
        return avisoMBean;
    }

    public void setAvisoMBean(AvisoMBean avisoMBean) {
        this.avisoMBean = avisoMBean;
    }

   
   
   
}
